/**
 * 用户管理员权限验证中间件
 * 验证普通用户是否具有管理员角色
 */
const userAdminAuth = (req, res, next) => {
  try {
    // 检查用户是否已通过基础认证
    if (!req.user) {
      return res.status(401).json({
        success: false,
        message: '请先登录'
      })
    }

    // 检查用户角色是否为管理员
    if (req.user.role !== 'admin') {
      return res.status(403).json({
        success: false,
        message: '权限不足，需要管理员权限'
      })
    }

    // 检查用户状态是否正常
    if (req.user.status !== 1) {
      return res.status(403).json({
        success: false,
        message: '账户已被禁用'
      })
    }

    next()
  } catch (error) {
    res.status(500).json({
      success: false,
      message: '权限验证失败',
      error: error.message
    })
  }
}

module.exports = userAdminAuth